const Promise = require('/utils/wx-pro.js').Promise
//app.js
App({

  getOpenId: function() {
    var _this = this
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          console.log("wxLogin success - get - openId")
          wx.pro.request({
            url: _this.globalData.grouponUrl + '/api/login/wxLogin',
            data: {
              code: res.code
            },
          }).then(data => {
            console.log('获取用户OpenId:', data.data)
          }).catch(err => {
            console.error("wxLogin failed, err", err.code)
          })
        }
      }
    });
  },

  onLaunch: function() {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    console.log("app launch")
    //获取用户openId
    this.getOpenId()

    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null,
    hasLogin: false,
    grouponUrl: "http://127.0.0.1:8080"
  }
})